package net.zjitc.atest.util.TokenUtil;

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;

public class JwtTokenGenerator {

    // 密钥需要妥善保管
    private static final String SECRET_KEY = "knbvklc12389ytginposi0r82onklfnbklmsvcklbh8937t4oi6";

    public static String generateToken(String subject) {
        long nowMillis = System.currentTimeMillis();
        Date now = new Date(nowMillis);

        // 设置Token的有效期为1小时
        Date exp = new Date(nowMillis + 3600000);

        return Jwts.builder()
                .setSubject(subject)       // 设置主题（通常是用户ID或用户名）
                .setIssuedAt(now)          // 设置发行时间
                .setExpiration(exp)        // 设置过期时间
                .signWith(SignatureAlgorithm.HS256, SECRET_KEY) // 使用HS256算法签名
                .compact();                // 生成紧凑形式的JWT
    }
}
